package com.t.bricks.bussiness.controller.userandopenid;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.t.bricks.bussiness.db.entity.userandopenid.UserAndOpenId;
import com.t.bricks.bussiness.service.userandopenid.UserAndOpenIdService;
import com.t.bricks.model.MsgEmity;

@RestController
@Api(value="用户与关注号关联表", tags={"用户与关注号关联表操作接口"})
@RequestMapping("/wechat/login/")
public class UserAndOpenIdController {

	/**
	 * 用户与关注号关联表业务实现类
	 */
	@Autowired
	private UserAndOpenIdService userAndOpenIdService;

	/**
	 * 微信用户登录
	 * @param sNameOrNo 用户的名称或工号
	 * @param sPass 用户密码
	 * @param sOpenId 用户的关注号
	 * @return MsgEmity
	 */
	//[start]
	@ApiOperation(value="根据记录编号查询符合分页数据的某条记录", response=UserAndOpenId.class)
	@ApiImplicitParams({
		@ApiImplicitParam(name="sNameOrNo", value="用户的名称或工号", dataType="String", paramType="query", required=true),
		@ApiImplicitParam(name="sPass", value="用户密码", dataType="String", paramType="query", required=true),
		@ApiImplicitParam(name="sOpenId", value="用户的关注号", dataType="String", paramType="query", required=true)
	})
	@ApiResponses({
		@ApiResponse(code=200, message="{\"success\": 布尔值, \"msg\": 文字提示, \"data\": 码值|Json数据对象}"),
		@ApiResponse(code=400, message="错误的请求,请检查路径"),
		@ApiResponse(code=404, message="请求路径没有或页面跳转路径不对"),
		@ApiResponse(code=1000001, message="内部请求密钥错误"),
		@ApiResponse(code=1000002, message="您还没有登录或登录已超时,需要重新登录"),
		@ApiResponse(code=1000003, message="检查登录状态失败,请稍后重试！"),
		@ApiResponse(code=1000004, message="请求的操作不存在,请检查访问地址正确性，如大小写"),
		@ApiResponse(code=1000005, message="响应后在系统内部发生不可预知的错误"),
		@ApiResponse(code=1019000, message="1019000~1999999为拦截器调用方法错误"),
		@ApiResponse(code=8001, message="编号参数能为空"),
		@ApiResponse(code=7001, message="新增数据失败"),
		@ApiResponse(code=7002, message="新增时发生异常"),
		@ApiResponse(code=8000, message="登录名不能为空"),
		@ApiResponse(code=8001, message="密码不能为空"),
		@ApiResponse(code=8002, message="查询失败,请稍后重试"),
		@ApiResponse(code=8003, message="相关登录名的用户不存在"),
		@ApiResponse(code=8004, message="存在重名用户,请使用工号登录"),
		@ApiResponse(code=8005, message="用户密码错误"),
		@ApiResponse(code=8006, message="登录受限,可能用户账号被封"),
		@ApiResponse(code=8000, message="登录名不能为空"),
		@ApiResponse(code=8011, message="密码不能为空"),
		@ApiResponse(code=8012, message="登录名不能为空"),
		@ApiResponse(code=8013, message="密码不能为空"),
		@ApiResponse(code=8014, message="8014~8998的其它值为修改时发生的其它错误")
	})
	//[end]
	@RequestMapping(method={RequestMethod.POST}, value="/in")
	public MsgEmity login(String sNameOrNo, String sPass, String sOpenId) {
		return userAndOpenIdService.login(sNameOrNo, sPass, sOpenId);
	}

}
